#define _CRT_SECURE_NO_WARNINGS  1
#include"RBTree.h"
template<class K>
class Myset
{
public:
	struct KeyofSet
	{
		const K& operator()(const K& key)
		{
			return key;
		}
	};
	typedef typename RBTree<K, K, KeyofSet>::const_iterator const_iterator;
	typedef typename RBTree<K, K, KeyofSet>::const_iterator iterator;


	const_iterator begin() const
	{
		return t.begin();
	}

	const_iterator end() const 
	{
		return t.end();
	}

	pair<iterator, bool> Insert(const K& key)
	{
		// pair<RBTree::iterator, bool>
		pair<typename RBTree<K, K, KeyofSet>::iterator, bool> ret = t.Insert(key);
		return pair<iterator, bool>(ret.first, ret.second);
	}

private:
	RBTree<K, K, KeyofSet> t;
};

